package metier;

import java.util.ArrayList;

public class Client 
{
	private Integer idClient;
	private String nomClient;
	private String pnomClient;
	private ArrayList<Voiture> lesVoituresAcheter;
	private ArrayList<Voiture> lesVoituresVendu;
	private String sexe;
	private String rue;
	private Integer cp;
	private String ville;

	/**
	 * Constructeur client
	 * @param idClient
	 * @param nomClient
	 * @param pnomClient
	 * @param sexe
	 * @param rue
	 * @param cp
	 * @param ville
	 * 
	 */
	public Client(Integer idClient, String nomClient, String pnomClient, String sexe, String rue,Integer cp, String ville) 
	{
		super();
		this.idClient = idClient;
		this.nomClient = nomClient;
		this.pnomClient = pnomClient;
		this.lesVoituresAcheter = new ArrayList<Voiture>();
		this.lesVoituresVendu = new ArrayList<Voiture>();
		this.sexe = sexe;
		this.rue = rue;
		this.cp = cp;
		this.ville = ville;
	}

	/**
	 * Retourne l'id du client de la classe client
	 * @return idClient
	 */
	public Integer getIdClient()
	{
		return idClient;
	}

	/**
	 * Accesseurs en ecrit sur idClient de la classe client
	 * @param idClient
	 */
	public void setIdClient(Integer idClient) 
	{
		this.idClient = idClient;
	}

	/**
	 * Retourne la variable nomClient de la classe client
	 * @return nomClient
	 */
	public String getNomClient()
	{
		return nomClient;
	}

	/**
	 * Accesseur en ecriture sur nomClient de la classe client
	 * @param nomClient
	 */
	public void setNomClient(String nomClient) 
	{
		this.nomClient = nomClient;
	}

	/**
	 * Retourne la variable PnomClient de la classe client
	 * @return pnomClient
	 */
	public String getPnomClient() 
	{
		return pnomClient;
	}

	/**
	 * Accesseur en ecriture sur la variable pnomClient
	 * @param pnomClient
	 */
	public void setPnomClient(String pnomClient) 
	{
		this.pnomClient = pnomClient;
	}

	/**
	 * Retourne une Collection de voiture acheter
	 * @return lesVoituresAcheter
	 */
	public ArrayList<Voiture> getLesVoituresAcheter() 
	{
		return lesVoituresAcheter;
	}

	/**
	 * Accesseur en ecriture sur la collection de voiture Acheter
	 * @param lesVoituresAcheter
	 */
	public void setLesVoituresAcheter(ArrayList<Voiture> lesVoituresAcheter) 
	{
		this.lesVoituresAcheter = lesVoituresAcheter;
	}

	/**
	 * Retourne une collection de voiture non vendues
	 * @return lesVoituresVendu
	 */
	public ArrayList<Voiture> getLesVoituresVendu() 
	{
		return lesVoituresVendu;
	}

	/**
	 *  Accesseur en ecriture sur la collection de voiture non vendu
	 * @param lesVoituresVendu
	 */
	public void setLesVoituresVendu(ArrayList<Voiture> lesVoituresVendu) 
	{
		this.lesVoituresVendu = lesVoituresVendu;
	}

	/**
	 * Retourne la variable sexe de la classe client
	 * @return sexe
	 */
	public String getSexe() 
	{
		return sexe;
	}

	/**
	 * Accesseur en ecriture sur la variable sexe de la classe client
	 * @param sexe
	 */
	public void setSexe(String sexe)
	{
		this.sexe = sexe;
	}

	/**
	 * Retourne la variable rue de la classe client
	 * @return rue
	 */
	public String getRue()
	{
		return rue;
	}

	/**
	 * Accesseur en ecriture sur la variable rue de la classe client
	 * @param rue
	 */
	public void setRue(String rue) 
	{
		this.rue = rue;
	}

	/**
	 * Retourne la variable cp de la classe client
	 * @return cp
	 */
	public Integer getCp() 
	{
		return cp;
	}

	/**
	 * Accesseur en ecriture sur la variable cp de la classe client
	 * @param cp
	 */
	public void setCp(Integer cp) 
	{
		this.cp = cp;
	}

	/**
	 * Retourne la variable ville de la classe clien
	 * @return ville
	 */
	public String getVille() 
	{
		return ville;
	}

	/**
	 * Accesseur en ecriture sur la variable ville de la classe client
	 * @param ville
	 */
	public void setVille(String ville) 
	{
		this.ville = ville;
	}

	/**
	 * Retourne un chaine avec le nom et le prenom du client
	 */
	@Override
	public String toString() {
		return this.nomClient +" " +this.pnomClient ;
	}

	
	
	
}
